-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Dotty 0.8.0 blog post #4365
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dotty 0.8.0 blog post #4365
Conversation
(e.g. no XML literals), and try to boil down Scala’s types into a smaller set of more fundamental | ||
constructs. The theory behind these constructs is researched in | ||
[DOT](https://infoscience.epfl.ch/record/215280), a calculus for dependent object types. | ||
You can learn more about Dotty on our [website](https://dotty.epfl.ch). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@odersky Can you rewrite this part now that Scala 3 is announced
@lampepfl/dotty-core Please have a look |
the [IDE guide](https://dotty.epfl.ch/docs/usage/ide-support.html). | ||
|
||
|
||
### Standalone installationSymb |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Typo: installation
| the type test for List[String] cannot be checked at runtime | ||
``` | ||
|
||
### Kind Polymorphism [#4108](https://github.com/lampepfl/dotty/pull/4108) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@allanrenucci Right now this is under a compiler flag -Ykind-polymorphism
and it's in a sort-of limbo status (some pieces needed to use it much are missing), I'm not sure how much we want to advertise it yet?
13e7e25
to
3d69f64
Compare
### sbt 1 support [#3872](https://github.com/lampepfl/dotty/pull/3872) | ||
Starting with Dotty 0.8.0, we will only support versions of sbt >= 1.1.4. Migrating to sbt 1 | ||
lets us use the new improved incremental compiler for Scala called [Zinc](https://github.com/sbt/zinc), | ||
and enables integration with tools such as [Bloop](https://scalacenter.github.io/bloop/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should add a sentence or two explaining to users how to migrate their builds to this release. (Basically, change project/build.properties to sbt 1.1.4, update the sbt-dotty plugin, and change usages of withDottyCompat).
bba10ee
to
d2aadce
Compare
321dc2d
to
ce519fd
Compare
.forEach(println(_)) | ||
|
||
// C1 | ||
// C2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's the output of the code above. Maybe we should add // Prints:
<!--more--> | ||
|
||
This is our eighth scheduled release according to our [6-week release schedule](https://dotty.epfl.ch/docs/usage/version-numbers.html). | ||
The [previous technology preview](https://github.com/lampepfl/dotty/releases/tag/0.7.0-RC1) simplified |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't that link to 0.7.0 final? Are they the same?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0.7.0
final has a bug fix that is not in 0.7.0-RC1
, but 0.7.0-RC1
has the release notes, so I would keep it as is
### sbt 1 support [#3872](https://github.com/lampepfl/dotty/pull/3872) | ||
Starting with Dotty 0.8.0, we will only support versions of sbt >= 1.1.4. Migrating to sbt 1 | ||
lets us use the new improved incremental compiler for Scala called [Zinc](https://github.com/sbt/zinc), | ||
and enables integration with tools such as [Bloop](https://scalacenter.github.io/bloop/). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about:
Dotty 0.8.0-RC1 is now compatible with Zinc 1.x. Migrating to the latest version of Zinc let's us benefit from improved incremental compilation. This change means that sbt 1.1.4 or later must be used, and that integrations with tools such as Bloop are now possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer to put the emphasis on sbt rather than Zinc. Users don't have to know that they are using Zinc under the hood
If you are already using Dotty with sbt 0.13, follow these simple steps to upgrade: | ||
- update sbt version to 1.1.4 in `project/build.properties` | ||
- update sbt-dotty plugin to the latest version: `addSbtPlugin("ch.epfl.lamp" % "sbt-dotty" % "0.2.2")` | ||
- update usages of `.withDottyCompat()` by `.withDottyCompat(scalaVersion.value)` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replace usage?
|
||
### Unchecked warnings [#4045](https://github.com/lampepfl/dotty/pull/4045) | ||
Dotty now emits `unchecked` warnings like `scalac` whenever a type test is performed but cannot | ||
safely be checked at runtime. For example: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what safely means in this context? It reads like it'd throw an exception.
whenever a type test that cannot be completely checked at runtime is encountered.
|
||
### Improved support for SAM type [#4152](https://github.com/lampepfl/dotty/pull/4152) | ||
This release includes fixes to SAM types that greatly improve interoperability with Java 8 lambdas. | ||
One can now easely write Scala code that uses Java streams: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
easily
This is an easy way to try Dotty without installing anything. | ||
|
||
### sbt | ||
Using sbt 1.1.4 or newer, do: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that the template applies the scala version; it doesn't matter what version of the sbt launcher you have installed. I'd replace this line with
To get started with Dott using sbt, type
sbt new
to setup a new sbt project using Dotty:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you need to use sbt 0.13.13+
to use sbt new
. However I don't want people to think that Dotty is compatible with sbt 0.13
No description provided.